import { IPSEAIDE } from './ipseaide';
import { IPSSysEAIDEField } from './ipssys-eaidefield';
import { IPSSysEAIDER } from './ipssys-eaider';
import { IPSSysEAIElement } from './ipssys-eaielement';
import { IPSSysEAISchemeObject } from './ipssys-eaischeme-object';

/**
 *
 * @export
 * @interface IPSSysEAIDE
 */
export interface IPSSysEAIDE extends IPSEAIDE, IPSSysEAISchemeObject {
  /**
   * 集成实体属性映射集合
   *
   * @type {IPSSysEAIDEField[]}
   */
  getAllPSSysEAIDEFields(): IPSSysEAIDEField[] | null;

  /**
   * 集成实体属性映射集合
   *
   * @type {IPSSysEAIDEField[]}
   */
  get allPSSysEAIDEFields(): IPSSysEAIDEField[] | null;

  findPSSysEAIDEField(objKey: any): IPSSysEAIDEField | null;

  /**
   * 集成实体关系映射集合
   *
   * @type {IPSSysEAIDER[]}
   */
  getAllPSSysEAIDERs(): IPSSysEAIDER[] | null;

  /**
   * 集成实体关系映射集合
   *
   * @type {IPSSysEAIDER[]}
   */
  get allPSSysEAIDERs(): IPSSysEAIDER[] | null;

  findPSSysEAIDER(objKey: any): IPSSysEAIDER | null;

  /**
   * 映射集成元素
   *
   * @type {IPSSysEAIElement}
   */
  getPSSysEAIElement(): IPSSysEAIElement | null;

  /**
   * 映射集成元素
   *
   * @type {IPSSysEAIElement}
   */
  get psSysEAIElement(): IPSSysEAIElement | null;

  /**
   * 映射集成元素（必须存在）
   *
   * @type {IPSSysEAIElement}
   */
  getPSSysEAIElementMust(): IPSSysEAIElement;
}
